package edu.bw.mapper;

import edu.bw.po.Product;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Component;

import java.sql.ResultSet;
import java.sql.SQLException;
@Component
public class ProductMapper implements RowMapper<Product> {
    /**
     * SpringJdbc自动遍历结果集,然后调用重写的mapRow()将每一行数据映射为一个java对象
     * @param rs 当前行数据
     * @param rowNum 当前的行号
     * @return  当前行映射的java对象
     * @throws SQLException
     */

    @Override
    public Product mapRow(ResultSet rs, int rowNum) throws SQLException {
        /**
         * 自己手动将结果集封装成一个对象
         *
         */
        //1.新建一个封装的对象
        Product product = new Product();

        //2.通过结果集获取当前行的所有数据,将这些值设置到对象中
        product.setPid(rs.getInt("pid"));
        product.setPname(rs.getString("pname"));
        product.setPrice(rs.getDouble("price"));
        product.setCategory(rs.getString("category"));

        //3.返回这个对象
        return product;
    }
}
